package com.lei.service;

import com.lei.entity.Type;
import com.lei.util.PageBean;

import java.util.List;
import java.util.Map;

/**
 * @author Lei Chu
 * @Date 2020/10/21 17:17
 */
public interface TypeService {

    /**
     * 功能描述:获得所有书的类型,生成下拉框
     * @return void
     */
    List<Map> getAllType();

    /**
     * 功能描述:分页查找所有的类型，可带条件
     * @param type TYpe
     * @return com.lei.util.PageBean
     */
    PageBean getAllTypeByPage(Type type);

    /**
     * 功能描述:添加、修改类型
     * @param type Type
     * @return int
     */
    int addType(Type type);

    /**
     * 功能描述:检测添加修改时的类型名字是否可用
     * @param type Type
     * @return java.lang.String
     */
    String checkName(Type type);

    /**
     * 功能描述:根据id删除类型
     * @param typeid id
     * @return int
     */
    int deleteType(String typeid);
    
    /**
     * 功能描述:查询书的类型和各个类型的数量
     * @return java.util.Map<java.lang.String,java.util.List> 
     */
    List<Map> getAllTypeAndBookCount();

}
